第 1 课:基础原理
强化学习(Reinforcement Learning, RL) 是一种机器学习方法,学习智能体(agent)如何通过与环境(environment)交互,以最大化累计奖励(cumulative reward)为目标做出动作决策。
强化学习的核心:“在试错中学习一个策略,使得长期获得的奖励最大。”
与其他学习方法的区别:
| 类型 | 输入数据形式 | 学习目标 | 例子 |
|---|---|---|---|
| 监督学习 | 输入 + 正确输出标签 | 拟合已知标签的预测函数 | 图像识别、房价预测 |
| 无监督学习 | 输入(无标签) | 挖掘数据的潜在结构 | 聚类、降维 |
| 强化学习 | 状态、动作、奖励反馈 | 学习策略以最大化长期奖励 | 游戏玩耍、机器人控制 |
强化学习不是直接“知道”对错,而是通过试错,从奖励中自己摸索出最优策略。
(一)马尔可夫决策过程(MDP)
强化学习问题通常建模为一个 马尔可夫决策过程(Markov Decision Process),表示环境的动态特性。
1. MDP 的定义:
一个五元组:
| 符号 | 含义 |
|---|---|
| 状态空间(可能的环境状态集合) | |
| 动作空间(agent 可执行的动作集合) | |
| 策略函数(定义 agent 在每个状态下选择什么动作的决策函数。) | |
| 奖励函数(从 ( s ) 执行动作 ( a ) 转移到 ( s' ) 得到的奖励) | |
| 折扣因子(discount factor),衡量未来奖励的重要性 |
2. 马尔可夫性质:
意思是:未来只依赖当前状态与动作,与 过去无关。
3️⃣ 强化学习核心概念
✅ 状态(State):
环境的某种描述,例如:在游戏中角色的位置、速度等。
✅ 动作(Action):
Agent 可以选择的行为,例如:向左走、跳跃、攻击。
✅ 奖励(Reward):
环境反馈给 agent 的一个数值,用于评估该动作好坏。例如吃到金币 +1,被怪打 -10。
✅ 策略(Policy):
定义 agent 在每个状态下选择什么动作的决策函数。
- 符号:(\pi(a|s)) = 在状态 (s) 下选择动作 (a) 的概率
- 可分为:
- 确定性策略:( \pi(s) = a )
- 随机策略:( \pi(a|s) \in [0,1] )
✅ 状态值函数(Value Function):
表示在某策略下,从某状态开始后续能够获得的期望累计奖励。
- 定义:
✅ 状态-动作值函数(Q函数):
表示在策略 ( \pi ) 下,从状态 (s) 执行动作 (a) 后,未来获得的期望总奖励。
4️⃣ Bellman 方程
✅ 4.1 贝尔曼期望方程(Bellman Expectation Equation)
贝尔曼方程描述了当前值函数与下一状态值函数的递推关系。
对于状态值函数 (V^\pi(s)):
对于动作值函数 (Q^\pi(s,a)):
✅ 4.2 贝尔曼最优方程(Bellman Optimality Equation)
在最优策略 (\pi^*) 下:
最优值函数满足这个最大化递推关系。
5️⃣ 策略方法 vs 值函数方法
| 方法类型 | 核心思想 | 代表算法 |
|---|---|---|
| Value-based 方法 | 估计状态值 (V(s)) 或动作值 (Q(s,a)),通过值函数导出策略 | Q-Learning, SARSA |
| Policy-based 方法 | 直接对策略函数 (\pi(a | s)) 建模与优化(通常使用梯度) |
| Actor-Critic | 同时使用 policy(Actor) 和 value(Critic) | A3C, PPO, DDPG |
✅ 总结思维导图:
RL
├── 定义:与环境交互,最大化奖励
├── MDP: (S, A, P, R, γ)
├── 核心:
│ ├── 策略 π(a|s)
│ ├── 奖励 R(s,a,s')
│ ├── 值函数 V(s), Q(s,a)
│ └── 贝尔曼方程
└── 方法:
├── Value-based(Q-Learning)
├── Policy-based(REINFORCE)
└── Actor-Critic(PPO、A2C)
✅ 下一步建议:
- 如果你愿意,我们可以下一课学习 Value Iteration 与 Policy Iteration 动态规划方法,引导你第一次实现 RL 训练一个策略。
- 你也可以告诉我希望深入讲解某个概念、推导公式或实现代码。
你希望我怎么继续?继续讲第二课吗?还是现在练习理解概念?我也可以出几道基础题目帮助你巩固。